Skip to main content

Custom Domains

Subscription required

Custom domains are available on subscribed (Basic/Pro) plans only. Anonymous tunnels and free/unsubscribed accounts cannot use custom domains or CNAMEs.

By default, each tunnel gets an assigned FQDN from Cruma.io (for example, <tunnel-id>.tun.cruma.io). You can bring your own domain by creating a CNAME record that points to your tunnel FQDN, then add that hostname as a frontend route.

Steps

  1. Connect your agent and note the assigned tunnel FQDN (based on your tunnel ID).
  2. In your DNS provider, create a CNAME from your desired hostname (e.g., app.yourdomain.com) to that tunnel FQDN (<tunnel-id>.tun.cruma.io).
  3. Add the custom hostname as a frontend in your config file, or via CLI (e.g., cruma config add http 127.0.0.1:3000 --hostname app.yourdomain.com).

Once DNS propagates, traffic to your custom hostname will route through the tunnel just like the built-in address. For custom hostnames, TLS is terminated on your agent — the agent automatically obtains a trusted certificate from Let's Encrypt via ACME TLS-ALPN-01, so no manual certificate setup is needed.

Assigned Cruma hostnames can also terminate TLS on the agent for paid plans with an active subscription. The agent attempts to obtain a certificate for its assigned hostname via ACME DNS-01; once ready, it takes over TLS termination. If that certificate is not ready or cannot be issued, the service falls back to Cruma ingress termination automatically.